package com.qdlc.p2p.dal.dao;

import com.qdlc.p2p.dal.common.dao.BaseDao;
import com.qdlc.p2p.dal.common.model.jpa.PageDataList;
import com.qdlc.p2p.dal.dto.AccountLogHis;
import com.qdlc.p2p.dal.model.AccountLogHisModel;


/**
 * 资金记录Dao
 *
 * @author xx
 * @version 2.0
 * @since 2014年4月10日
 */
public interface AccountLogHisDao extends BaseDao<AccountLogHis> {

    /**
     * 资金记录列表
     *
     * @param model
     * @param pageNumber
     * @param pageSize
     * @return
     */
    PageDataList<AccountLogHisModel> accountLogList(AccountLogHisModel model, int pageNumber, int pageSize);

    /**
     * 根据类型和时间获取费用数组
     *
     * @param type
     * @param date
     * @return
     */
    double getFeeByTypeAndDate(String type, String date);

    /**
     * 今日净收益
     *
     * @param userId
     * @return
     */
    double todayEarnAmount(long userId);

    /**
     * 累计净收益
     *
     * @param userId
     * @return
     */
    double earnAmount(long userId);

    /**
     * 累计净收益
     *
     * @param userId
     * @return
     */
    double earnAmount();

    /**
     * 根据时间、类型获取资金记录金额
     *
     * @param month
     * @param type
     * @return
     */
    double amount(String type, String month);

    /**
     * 根据时间、类型数组获取资金记录金额
     *
     * @param type
     * @param month
     * @return
     */
    double amount(String[] type, String month);

}
